#ifndef PLUGINSMANAGERPRIVATE_H
#define PLUGINSMANAGERPRIVATE_H
/**
* @file PluginsManagerPrivate.h
* @Description: PluginsManagerPrivate.h 插件管理系统的 私有类 主要用来保存插件的 信息，和检测插件依赖
* @Date: 2020-02-29
* @LastEditTime: 2020-02-29
* @LastEditors: twosilly
* @Author: twosilly
* @E-Mail:twosilly@foxmail.com
*/
#include <QString>
#include <QVariant>
#include <QDebug>
#include <QPluginLoader>

//enum PLUGIN_Type{
//    DEFAULT = 0,
//    INPUT = 1
    
//};
        
class PluginsManagerPrivate
{
public:
    //!检测插件依赖
    bool check(const QString &filePath);
    
    QHash<QString, QVariant> m_name;                //! 插件路径 -- 插件名称
    QHash<QString, QVariant> m_versions;            //! 插件路径 -- 插件版本
   // QHash<QString, QVariant> m_type;                //! 插件路径 -- 插件类型
    QHash<QString, QVariantList> m_dependencies;    //! 插件路径 -- 插件额外依赖的其他插件
    QHash<QString, QPluginLoader*> m_loaders;       //! 插件路径 -- QPluginLoader 实例
    
};
#endif // PLUGINSMANAGERPRIVATE_H
